#!/bin/bash

# 翼支付金豆0点抢兑话费脚本 - 一键部署脚本
# 适用于青龙面板

echo "=== 翼支付金豆0点抢兑话费脚本部署工具 ==="
echo ""

# 检查青龙面板环境
check_qinglong() {
    if [ ! -d "/ql" ]; then
        echo "❌ 未检测到青龙面板环境，请确保青龙面板已正确安装"
        exit 1
    fi
    echo "✅ 青龙面板环境检测成功"
}

# 创建必要的目录
create_directories() {
    mkdir -p /ql/scripts/yifupay
    mkdir -p /ql/config/yifupay
    mkdir -p /ql/log/yifupay
    echo "✅ 创建必要目录完成"
}

# 设置文件权限
set_permissions() {
    chmod +x /ql/scripts/yifupay/*.js 2>/dev/null || true
    echo "✅ 设置文件权限完成"
}

# 安装依赖
install_dependencies() {
    echo "📦 检查并安装依赖..."
    
    # 检查是否有npm
    if command -v npm &> /dev/null; then
        cd /ql
        npm install node-fetch@2 2>/dev/null || echo "依赖安装完成或已存在"
        echo "✅ 依赖检查完成"
    else
        echo "⚠️  未检测到npm，跳过依赖安装"
    fi
}

# 创建定时任务
create_cron_job() {
    echo "⏰ 创建定时任务..."
    
    # 检查任务是否已存在
    if crontab -l 2>/dev/null | grep -q "yifupay_jindou_exchange"; then
        echo "⚠️  定时任务已存在，跳过创建"
        return
    fi
    
    # 添加定时任务
    (crontab -l 2>/dev/null; echo "0 0 * * * cd /ql && node /ql/scripts/yifupay/yifupay_jindou_exchange_enhanced.js >> /ql/log/yifupay/execution.log 2>&1") | crontab -
    echo "✅ 定时任务创建完成（每天0点执行）"
}

# 创建配置模板
create_config_template() {
    echo "📝 创建配置模板..."
    
    cat > /ql/config/yifupay/environment_template.env << 'EOF'
# 翼支付金豆兑换脚本环境变量配置
# 请根据实际情况修改以下配置

# ==================== 必填配置 ====================
YIFUPAY_PHONE=your_phone_number_here          # 替换为你的手机号
YIFUPAY_PASSWORD=your_password_here            # 替换为你的密码

# ==================== 兑换配置 ====================
YIFUPAY_EXCHANGE_AMOUNTS=5,10,20             # 尝试兑换的金额列表
YIFUPAY_MIN_JINDOU=100                       # 最低金豆数量要求
YIFUPAY_START_TIME=23:55                     # 开始准备时间
YIFUPAY_END_TIME=00:05                       # 结束时间窗口

# ==================== 重试配置 ====================
YIFUPAY_RETRY_COUNT=3                        # 重试次数
YIFUPAY_RETRY_DELAY=1000                     # 重试间隔（毫秒）

# ==================== 通知配置 ====================
YIFUPAY_NOTIFY_SUCCESS=true                  # 成功通知
YIFUPAY_NOTIFY_FAILURE=true                  # 失败通知
YIFUPAY_DEBUG=false                          # 调试模式
EOF

    echo "✅ 配置模板已创建: /ql/config/yifupay/environment_template.env"
}

# 创建日志轮转配置
create_logrotate_config() {
    echo "📊 配置日志轮转..."
    
    cat > /etc/logrotate.d/yifupay << 'EOF'
/ql/log/yifupay/*.log {
    daily
    missingok
    rotate 30
    compress
    delaycompress
    notifempty
    create 644 root root
    postrotate
        # 重启相关服务（如需要）
    endscript
}
EOF

    echo "✅ 日志轮转配置完成"
}

# 显示使用说明
show_usage() {
    echo ""
    echo "🎉 部署完成！"
    echo ""
    echo "📋 接下来的步骤："
    echo "1. 编辑配置文件: /ql/config/yifupay/environment_template.env"
    echo "2. 将配置添加到青龙面板环境变量中"
    echo "3. 上传脚本文件到: /ql/scripts/yifupay/"
    echo "4. 在青龙面板中创建定时任务"
    echo ""
    echo "📖 详细说明文档："
    echo "- 使用说明: /ql/docs/yifupay_script_guide.md"
    echo "- 部署指南: /ql/docs/qinglong_deployment.md"
    echo ""
    echo "🔧 常用命令："
    echo "# 手动执行脚本"
    echo "node /ql/scripts/yifupay/yifupay_jindou_exchange_enhanced.js"
    echo ""
    echo "# 查看执行日志"
    echo "tail -f /ql/log/yifupay/execution.log"
    echo ""
    echo "# 查看定时任务"
    echo "crontab -l"
    echo ""
    echo "⚠️  注意事项："
    echo "- 请妥善保管账号密码"
    echo "- 建议先在测试环境验证功能"
    echo "- 定期检查脚本执行状态"
}

# 主函数
main() {
    echo "开始部署翼支付金豆兑换脚本..."
    echo ""
    
    check_qinglong
    create_directories
    set_permissions
    install_dependencies
    create_cron_job
    create_config_template
    create_logrotate_config
    show_usage
}

# 执行主函数
main "$@"